cmake_minimum_required(VERSION 3.20)

# 定义项目名称和语言
project(serial_port LANGUAGES CXX)

# 设置 Android 相关配置
set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_ANDROID_STL_TYPE c++_shared)  # 使用共享的 C++ STL 库
set(CMAKE_ANDROID_NATIVE_API_LEVEL 26)  # 设置最小 API 级别

# 查找 log 库并检查是否存在
find_library(LOG_LIBRARY log)
if (NOT LOG_LIBRARY)
    message(FATAL_ERROR "Could not find 'log' library. Please ensure it is installed on your system.")
endif ()

# 添加共享库目标
add_library(serial_port SHARED serial_port_wrapper.cpp)

# 检查源文件是否存在
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/serial_port_wrapper.cpp")
    message(FATAL_ERROR "Source file 'serial_port_wrapper.cpp' does not exist in the source directory.")
endif ()

# 链接 log 库
target_link_libraries(serial_port PRIVATE ${LOG_LIBRARY})

# 设置编译定义（如果需要使用 Android 特定的日志函数）
target_compile_definitions(serial_port PRIVATE
        ANDROID_LOG_PRINTF  # 如果使用 __android_log_print 函数，需包含此定义
)